🎖️GitЯра🎖️
Node / meshtastic / Meshtastic-Android / files / core / takserver / src / commonTest / kotlin / org / meshtastic / core / takserver / FakeTAKServerManager.kt
Displaying Raw • Download
core/takserver/src/commonTest/kotlin/org/meshtastic/core/takserver/FakeTAKServerManager.kt 65a1f5ce4d0e4b8eafcd0bbfccafd41dc6ee888a (65a1f5ce) Text, 3.29 KB
T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.core.takserver
Tff7b72import T7ee787kotlinx.coroutines.CoroutineScope
Tff7b72import T7ee787kotlinx.coroutines.flow.MutableSharedFlow
Tff7b72import T7ee787kotlinx.coroutines.flow.MutableStateFlow
Tff7b72import T7ee787kotlinx.coroutines.flow.SharedFlow
Tff7b72import T7ee787kotlinx.coroutines.flow.StateFlow
Tff7b72import T7ee787kotlinx.coroutines.flow.asSharedFlow
Tff7b72import T7ee787kotlinx.coroutines.flow.asStateFlow
T8b949e/**
* Shared [TAKServerManager] fake for this module's commonTest. Not in `:core:testing` — that module's
* `build.gradle.kts` documents an explicit boundary ("Heavy modules ... should depend on core:testing, not vice versa")
* that a `:core:takserver`-specific fake would violate.
*
* `isRunning` defaults to `false` and toggles via [start]/[stop] like the real [TAKServerManagerImpl]; callers that
* only exercise the connected-client / broadcast surface (not the start/stop lifecycle) can ignore it.
*/
Tff7b72internal Tff7b72class T56d364FakeTAKServerManager Tb4b4b4: Te6edf3TAKServerManager Tb4b4b4{
Tff7b72override Tff7b72val Te6edf3isSupported Tff7b72= Tff7b72true
Tff7b72private Tff7b72val Te6edf3_isRunning Tff7b72= Te6edf3MutableStateFlowTb4b4b4(Tff7b72falseTb4b4b4)
Tff7b72override Tff7b72val Te6edf3isRunningTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3_isRunningTb4b4b4.Te6edf3asStateFlowTb4b4b4(Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3_isStarting Tff7b72= Te6edf3MutableStateFlowTb4b4b4(Tff7b72falseTb4b4b4)
Tff7b72override Tff7b72val Te6edf3isStartingTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3_isStartingTb4b4b4.Te6edf3asStateFlowTb4b4b4(Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3_hasStartError Tff7b72= Te6edf3MutableStateFlowTb4b4b4(Tff7b72falseTb4b4b4)
Tff7b72override Tff7b72val Te6edf3hasStartErrorTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3_hasStartErrorTb4b4b4.Te6edf3asStateFlowTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3connections Tff7b72= Te6edf3MutableStateFlowTb4b4b4(T79c0ff0Tb4b4b4)
Tff7b72override Tff7b72val Te6edf3connectionCountTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657IntTff7b72> Tff7b72= Te6edf3connections
Tff7b72private Tff7b72val Te6edf3_inboundMessages Tff7b72= Te6edf3MutableSharedFlowTff7b72<Te6edf3InboundCoTMessageTff7b72>Tb4b4b4(Te6edf3extraBufferCapacity Tff7b72= T79c0ff6T79c0ff4Tb4b4b4)
Tff7b72override Tff7b72val Te6edf3inboundMessagesTb4b4b4: Te6edf3SharedFlowTff7b72<Te6edf3InboundCoTMessageTff7b72> Tff7b72= Te6edf3_inboundMessagesTb4b4b4.Te6edf3asSharedFlowTb4b4b4(Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3_clientConnected Tff7b72= Te6edf3MutableSharedFlowTff7b72<Tffa657UnitTff7b72>Tb4b4b4(Te6edf3extraBufferCapacity Tff7b72= T79c0ff8Tb4b4b4)
Tff7b72override Tff7b72val Te6edf3clientConnectedTb4b4b4: Te6edf3SharedFlowTff7b72<Tffa657UnitTff7b72> Tff7b72= Te6edf3_clientConnectedTb4b4b4.Te6edf3asSharedFlowTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3broadcasts Tff7b72= Te6edf3mutableListOfTff7b72<Te6edf3CoTMessageTff7b72>Tb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3rawBroadcasts Tff7b72= Te6edf3mutableListOfTff7b72<Tffa657StringTff7b72>Tb4b4b4(Tb4b4b4)
Tff7b72var Te6edf3startCount Tff7b72= T79c0ff0
Tff7b72var Te6edf3stopped Tff7b72= Tff7b72false
Tff7b72override Tff7b72fun Td2a8ffstartTb4b4b4(Te6edf3scopeTb4b4b4: Te6edf3CoroutineScopeTb4b4b4) Tb4b4b4{
Te6edf3startCountTff7b72+Tff7b72+
Te6edf3_isRunningTb4b4b4.Te6edf3value Tff7b72= Tff7b72true
Tb4b4b4}
Tff7b72override Tff7b72fun Td2a8ffstopTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3stopped Tff7b72= Tff7b72true
Te6edf3_isRunningTb4b4b4.Te6edf3value Tff7b72= Tff7b72false
Tb4b4b4}
Tff7b72override Tff7b72fun Td2a8ffbroadcastTb4b4b4(Te6edf3cotMessageTb4b4b4: Te6edf3CoTMessageTb4b4b4) Tb4b4b4{
Te6edf3broadcastsTb4b4b4.Te6edf3addTb4b4b4(Te6edf3cotMessageTb4b4b4)
Tb4b4b4}
Tff7b72override Tff7b72fun Td2a8ffbroadcastRawXmlTb4b4b4(Te6edf3xmlTb4b4b4: Tffa657StringTb4b4b4) Tb4b4b4{
Te6edf3rawBroadcastsTb4b4b4.Te6edf3addTb4b4b4(Te6edf3xmlTb4b4b4)
Tb4b4b4}
Tff7b72suspend Tff7b72fun Td2a8ffemitInboundTb4b4b4(Te6edf3cotMessageTb4b4b4: Te6edf3CoTMessageTb4b4b4, Te6edf3clientInfoTb4b4b4: Te6edf3TAKClientInfo? Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3_inboundMessagesTb4b4b4.Te6edf3emitTb4b4b4(Te6edf3InboundCoTMessageTb4b4b4(Te6edf3cotMessageTb4b4b4, Te6edf3clientInfoTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tff7b72suspend Tff7b72fun Td2a8ffemitClientConnectedTb4b4b4(Tb4b4b4) Tff7b72= Te6edf3_clientConnectedTb4b4b4.Te6edf3emitTb4b4b4(Tffa657UnitTb4b4b4)
Tb4b4b4}
Served by rngit 1.5.0 - Generated in 0.05s